<?php
    class EstadoAutorizado extends DBManager
    {
	var  $con;

	//funcion para comprobar conexion

        function open_con()
	{
            $this->con=parent::conectar();
            return $this->con;
	}

	//funcion para cerra conexion
	function close_con()
	{
            parent::desconectar();
	}
        
        function new_estado_autorizado($datos,$tabla,$campo_autorizado)
        {
            parent::conectar();

            $record_est["idautorizado"]        =   $datos[0];
            $record_est["idempleado"]          =   $datos[1];
            $record_est["idestado"]            =   $datos[4];
            $record_est["nacta_ests"]          =   trim(addslashes($datos[2]));
            $record_est["observacion_ests"]    =   trim(addslashes($datos[5]));
            $record_est["fechacta_ests"]       =   $datos[3];
            
            $record_aut["idestado"]            =   $datos[4];
           
            $this->obj_con->StartTrans(); 
                $new_estado_autorizado     =   $this->obj_con->AutoExecute("tp_estadoautorizado", $record_est, 'INSERT');
                $update_autorizado         =   $this->obj_con->AutoExecute($tabla, $record_aut, "UPDATE", $campo_autorizado."=".$datos[0]);
            $this->obj_con->CompleteTrans();

            if($new_estado_autorizado && $update_autorizado)
            {
                return true;
            }
            else
            {
		return false;
            }
            
            parent::desconectar();
        }

        function update_estado_autorizado($idestadoautorizado,$datos,$tabla,$campo_autorizado)
        {
            parent::conectar();

            $record_est["idestado"]            =   $datos[4];
            $record_est["nacta_ests"]          =   trim(addslashes($datos[2]));
            $record_est["observacion_ests"]    =   trim(addslashes($datos[5]));
            $record_est["fechacta_ests"]       =   $datos[3];
            
            $record_aut["idestado"]            =   $datos[4];
           
            $this->obj_con->StartTrans(); 
                $update_estado_autorizado=   $this->obj_con->AutoExecute("tp_estadoautorizado", $record_est, 'UPDATE', "idestadoautorizado = '".$idestadoautorizado."'");
                $update_autorizado       =   $this->obj_con->AutoExecute($tabla, $record_aut, "UPDATE", $campo_autorizado."=".$datos[0]);
            $this->obj_con->CompleteTrans();

            if($update_estado_autorizado && $update_autorizado)
            {
                return true;
            }
            else
            {
		return false;
            }
            
            parent::desconectar();
        }
        
        function load_estados_autorizado()
        {
            parent::conectar();
            $start           =   isset($_POST['start'])?$_POST['start']:0; 
       	    $limit           =   isset($_POST['limit'])?$_POST['limit']:100;
            $idautorizado    =   $_POST['idautorizado'];
 	    $data_all        =   array();
            
            $consulta_estados = "select esta.idestadoautorizado,esta.idestado,est.nombre_esta,upper(esta.nacta_ests) as nacta_ests,to_char(esta.fechacta_ests,'DD/MM/YYYY') as fechacta_ests,esta.observacion_ests,(emp.nombre_emp||' '||emp.apellido_emp) as nombre_full
                                from tp_estadoautorizado esta
                                inner join ts_estado est on est.idestado = esta.idestado
                                inner join ts_empleado emp on esta.idempleado = emp.idempleado
                                where idautorizado = ".$idautorizado." order by esta.fechacta_ests desc";
            $recordset_all      =   $this->obj_con-> Execute($consulta_estados);

            if (!$recordset_all)
            {
                echo ($this->obj_con->ErrorMsg());
            }
            else
            {
                while (!$recordset_all->EOF)
     	        {
                    $idestadoautorizado     =   $recordset_all->fields['idestadoautorizado'];
                    $idestado               =   $recordset_all->fields['idestado'];
                    $lbl_estado             =   $recordset_all->fields['nombre_esta'];
                    $nacta                  =   $recordset_all->fields['nacta_ests'];
                    $f_acta                 =   $recordset_all->fields['fechacta_ests'];
                    $observacion            =   $recordset_all->fields['observacion_ests'];
                    $empleado               =   $recordset_all->fields['nombre_full'];
                
                    $responce_all=array('id_estadoauto'=>$idestadoautorizado,'id_estado'=>$idestado,'lbl_estado'=>$lbl_estado,'n_acta'=>$nacta,'f_acta'=>$f_acta,'empleado'=>$empleado,'observacion'=>$observacion);
                    array_push($data_all,$responce_all);
                    $recordset_all->MoveNext();
                 }

                 $paging_all = array(
                        	 'success'=>true,
                                 'total'=>count($data_all), //<--- total de registros a paginar
				 'data'=> array_splice($data_all,$start,$limit)
                                );

		echo json_encode($paging_all);
             }
        }
        
        
        function get_campo_estado_auto($condicion,$get_campo)
	{
            parent::conectar();

            $consulta  =   "select ".$get_campo." from tp_estadoautorizado where ".$condicion;
            $record_consulta = $this->obj_con->GetRow($consulta);
            
            parent::desconectar();
            return  $record_consulta[$get_campo];
        }
    }
?>
